#include <head.h>

sem_t sem;
void *sem_func_1(void *val);

int main(int argc, char const *argv[])
{
    pthread_t tid_1;
    sem_init(&sem,0,0);
    pthread_create(&tid_1,NULL,sem_func_1,NULL);

    printf("主进程工作...\n");
    sleep(2);
    printf("主进程工作完成s...\n");
    
    sem_post(&sem);
    pthread_join(tid_1,NULL);

    return 0;
}

void *sem_func_1(void *val)
{
    printf("线程 等待中 ..\n");
    sem_wait(&sem);
    sem_post(&sem);
    printf("线程 工作中..\n");
    sleep(4);
    return NULL;
}